<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script>



//【示例1】对象可以通过点号运算符访问内部成员，但是在函数体外，是无法通过点号运算符访问其内部包含的成员。
function f(){				// 函数体
    function e(){			// 子函数
        function g(){		// 孙函数
            return 3;
        }
    }
    var b = true; 			// 函数的变量成员
    var c = function(){		// 函数的变量成员
        return "c";
    }
}
alert(f.e.g());			// 抛出错误
alert(f.c());				// 抛出错误
alert(f.b); 				// 抛出错误
//【示例2】函数作用域通过return语句向外界开放内部成员。例如，在下面示例中可以调用成员函数g。
function f(){
    return e;
    function e(){
        return g;
        function g(){
            return 3;
        }
    }
    var b = true;
    var c = function(){
        return "c";
    } 
}
alert( f()()() ); 			// 返回3


</script>
</head>
<body>
</body>
</html>
